home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1994 March
/
Internet Info CD-ROM (Walnut Creek) (March 1994).iso
/
answers
/
comp
/
linux
/
howto
/
installation
< prev
next >
Wrap
Text File
|
1994-03-17
|
51KB
|
1,152 lines
Newsgroups: comp.os.linux.announce,comp.os.linux.help,comp.os.linux.admin,news.answers,comp.answers
Path: bloom-beacon.mit.edu!gatech!howland.reston.ans.net!math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!ghost.dsi.unimi.it!batcomputer!cornell!mdw
From: mdw@sunsite.unc.edu (Matt Welsh)
Subject: Linux Installation HOWTO
Message-ID: <1994Mar17.233334.4167@cs.cornell.edu>
Followup-To: poster
Summary: How to obtain and install Linux, the free UNIX implementation for
Intel 80386/80486 based machines.
Keywords: Linux, HOWTO, FAQ, installation
Sender: mdw@cs.cornell.edu (Matt Welsh)
Organization: Linux. It's not just for breakfast anymore.
Date: Thu, 17 Mar 1994 23:33:34 GMT
Approved: linux-announce@tc.cornell.edu (Matt Welsh)
Lines: 1135
Xref: bloom-beacon.mit.edu comp.os.linux.announce:1979 comp.os.linux.help:26451 comp.os.linux.admin:5672 news.answers:16495 comp.answers:4203
Archive-name: linux/howto/installation
Last-modified: 5 March 1994
This is a new version of the Linux Installation HOWTO, which covers just the
Slackware distribution of Linux. It is a pre-release, and therefore has
some rough edges. Please let me know if there are any mistakes!
You can find a nicely-formatted PostScript and .dvi version of this HOWTO
(as well as others) on sunsite.unc.edu in /pub/Linux/docs/HOWTO/other-formats.
The Linux Installation HOWTO
by Matt Welsh, mdw@sunsite.unc.edu
v2.0, 5 March 1994
This document describes how to obtain and install the Linux software,
focusing on the popular Slackware distribution. It is the first docu-
ment which a new Linux user should read to get started.
1. Introduction
Linux is a freely-distributable implementation of UNIX for 80386 and
80486 machines. It supports a wide range of software, including X
Windows, Emacs, TCP/IP networking (including SLIP), the works. This
document assumes that you have heard of and know about Linux, and just
want to sit down and install it.
1.1. Other sources of information
If you have never heard of Linux before, there are several sources of
basic information about the system. One is the Linux FAQ, available
from sunsite.unc.edu:/pub/Linux/docs. This directory contains many
other documents about Linux, including the Linux INFO-SHEET and META-
FAQ, both of which are good introductory documents about Linux. Also
take a look at the USENET newsgroups comp.os.linux.help and
comp.os.linux.announce.
Another source of online Linux documentation is the Linux HOWTO
archive, on sunsite.unc.edu:/pub/Linux/docs/HOWTO. The file HOWTO-
INDEX in that directory explains what Linux HOWTOs are available.
The Linux Documentation Project is writing a set of manuals and books
about Linux, all of which are freely distributable on the net. The
directory /pub/Linux/docs/LDP on sunsite.unc.edu contains the current
set of LDP manuals.
The book ``Linux Installation and Getting Started'' is a complete
guide to getting and installing Linux, as well as how to use the
system once you've installed it. It contains a complete tutorial to
using and running the system, and much more information than is
contained here. This HOWTO is simply a condensation of some of the
most important information in that book. You can get ``Linux
Installation and Getting Started'' from sunsite.unc.edu in
/pub/Linux/docs/LDP/install-guide. The README file there describes
how you can order a printed copy of the book (about 180 pages).
1.2. New versions of this document
New versions of the Linux Installation HOWTO will be periodically
posted to comp.os.linux.announce, comp.os.linux, and news.answers.
They will also be uploaded to various Linux FTP sites, including
sunsite.unc.edu:/pub/Linux/docs/HOWTO.
1.3. Feedback
If you have questions or comments about this document, please feel
free to mail Matt Welsh, at mdw@sunsite.unc.edu. I welcome any
suggestions, criticism, or postcards. If you find a mistake with this
document, please let me know so I can correct it in the next version.
Thanks.
2. Hardware Requirements
What kind of system is needed to run Linux? This is a good question;
the actual hardware requirements for the system change periodically.
The Linux Hardware-HOWTO gives a (more or less) complete listing of
hardware supported by Linux. The Linux INFO-SHEET provides another
list.
At the very least, a hardware configuration that looks like the
following is required:
Any ISA, EISA or VESA Local Bus 80386 or 80486 system will do.
Currently, the MicroChannel (MCA) architecture (found on IBM PS/2
machines) is not supported. Any CPU from the 386SX to the 486DX2 will
work. You do not need a math coprocessor, although it is nice to have
one.
You need at least 4 megabytes of memory in your machine. Technically,
Linux will run with only 2 megs, but most installations and software
require 4. The more memory you have, the happier you'll be. I suggest
8 or 16 megabytes if you're planning to use X-Windows.
Of course, you'll need a hard drive and an AT-standard drive
controller. All MFM, RLL, and IDE drives and controllers should work.
Many SCSI drives and adaptors are supported as well; the Linux SCSI-
HOWTO contains more information on SCSI.
Linux can actually run on a single 5.25" HD floppy, but that's only
useful for installation and maintenance.
Free space on your hard drive is needed as well. The amount of space
needed depends on how much software you plan to install. Most
installations require somewhere in the ballpark of 40 to 80 megs.
This includes space for the software, swap space (used as virtual RAM
on your machine), and free space for users, and so on.
It's conceivable that you could run a minimal Linux system in 10 megs
or less, and it's conceivable that you could use well over 100 megs or
more for all of your Linux software. The amount varies greatly
depending on the amount of software you install and how much space you
require. More about this later.
Linux will co-exist with other operating systems, such as MS-DOS,
Microsoft Windows, or OS/2, on your hard drive. (In fact you can even
access MS-DOS files and run some MS-DOS programs from Linux.) In
other words, when partitioning your drive for Linux, MS-DOS or OS/2
live on their own partitions, and Linux exists on its own. We'll go
into more detail later.
You do NOT need to be running MS-DOS, OS/2, or any other operating
system to use Linux. Linux is a completely different, stand-alone
operating system and does not rely on other OS's for installation and
use.
You also need a Hercules, CGA, EGA, VGA, or Super VGA video card and
monitor. In general, if your video card and monitor work under MS-DOS
then it should work under Linux. However, if you wish to run X
Windows, there are other restrictions on the supported video hardware.
The Linux XFree86-HOWTO contains more information about running X and
its requirements.
In all, the minimal setup for Linux is not much more than is required
for most MS-DOS or MS Windows systems sold today. If you have a 386 or
486 with at least 4 megs of RAM, then you'll be happy running Linux.
Linux does not require huge amounts of diskspace, memory, or processor
speed. I (used to) run Linux on a 386/16 MHz (the slowest machine you
can get) with 4 megs of RAM, and was quite happy. The more you want to
do, the more memory (and faster processor) you'll need. In my
experience a 486 with 16 megabytes of RAM running Linux outdoes
several models of workstation.
3. Getting Linux
In this section we'll cover how to obtain the Linux software.
3.1. Linux Distributions
Before you can install Linux, you need to decide on one of the
``distributions'' of Linux which are available. There is no single,
standard release of the Linux software---there are many such releases.
Each release has its own documentation and installation instructions.
Linux distributions are available both via anonymous FTP and via mail
order on diskette, tape, and CD-ROM. The Linux Distribution HOWTO (see
sunsite.unc.edu in the file /pub/Linux/docs/HOWTO/Distribution-HOWTO)
includes a list of many Linux distributions available via FTP and mail
order.
The release of Linux covered in this HOWTO is the Slackware
distribution, maintained by Patrick J. Volkerding
(volkerdi@mhd1.moorhead.msus.edu). It is one of the most popular
distributions available; it is very up-to-date and includes a good
amount of software including X-Windows, TeX, and others. The
Slackware distribution consists of a number of ``disk sets'', each one
containing a particular type of software (for example, the d disk set
contains development tools such as the gcc compiler, and so forth).
You can elect to install whatever disk sets you like, and can easily
install new ones later.
Slackware is also easy to install; it is very self-explanatory. (So
self-explanatory, in fact, that this HOWTO may not be necessary.)
Information on other releases can be found in the Linux Installation
and Getting Started manual from the LDP. You can also find other
releases of Linux on various FTP sites, including
sunsite.unc.edu:/pub/Linux/distributions See the Distribution-HOWTO
(mentioned above) for details.
The instructions here should be general enough to be applicable to
releases other than Slackware. I hate to be biased towards a single
release, but I don't have time to keep up with them all! And Slackware
appears to have what most Linux users are looking for.
3.2. Slackware Space Requirements
Unfortunately, Slackware does not maintain a complete list of
diskspace requirements for each disk set. You need at least 7
megabytes to install just the A series of disks; a very rough estimate
of the required diskspace would be 2 or 2.5 megabytes per disk.
The following disk sets are available:
A The base system. Enough to get up and running and have elvis and
comm programs available. Based around the 0.99pl15 Linux kernel,
and the new filesystem standard (FSSTND).
These disks are known to fit on 1.2M disks, although the rest of
Slackware won't. If you have only a 1.2M floppy, you can still
install the base system, download other disks you want and
install them from your hard drive.
AP Various applications and add ons, such as the manual pages,
groff, ispell (GNU and international versions), term, joe, jove,
ghostscript, sc, bc, and the quota patches.
D Program development. GCC/G++/Objective C 2.5.8, make (GNU and
BSD), byacc and GNU bison, flex, the 4.5.19 C libraries, gdb,
kernel source for 0.99pl15, SVGAlib, ncurses, clisp, f2c, p2c,
m4, perl, rcs.
E GNU Emacs 19.22.
F A collection of FAQs and other documentation.
N Networking. TCP/IP, UUCP, mailx, dip, deliver, elm, pine, smail,
cnews, nn, tin, trn.
OOP
Object Oriented Programming. GNU Smalltalk 1.1.1, and the
Smalltalk Interface to X. (STIX)
TCL
Tcl, Tk, TclX, blt, itcl.
Y Games. The BSD games collection, and Tetris for terminals.
X The base XFree86 2.0 system, with libXpm, fvwm 1.20, and xlock
added.
XAP
X applications: X11 ghostscript, libgr13, seyon, workman, xfile-
manager, xv 3.00, GNU chess and xboard, xfm 1.2, ghostview, and
various X games.
XD X11 program development. X11 libraries, server linkkit, PEX sup-
port.
XV Xview 3.2 release 5. XView libraries, and the Open Look virtual
and non-virtual window managers.
IV Interviews libraries, include files, and the doc and idraw apps.
These run unreasonably slow on my machine, but they might still
be worth looking at.
OI ParcPlace's Object Builder 2.0 and Object Interface Library 4.0,
generously made available for Linux developers according to the
terms in the "copying" notice found in these directories.
T TeX support. Since many people have asked about TeX, I borrowed
the 3 TeX disks from SLS and went through them changing the
filesystem structure somewhat and fixing permissions. You can
take this as a sign that Slackware TeX support may continue to
improve.
You must get the ``a'' disk set; the rest are optional. I suggest at
least installing the a, ap, and d sets, as well as the x set if you
plan to run X Windows.
3.3. Getting Slackware via Mail Order
Slackware is available for free from the Internet, as well as via mail
order (if you don't have Internet access, or don't want to take the
time to download it yourself). The next section describes how to
download Slackware from the Internet.
The various mail order distributors for Slackware (and other Linux
distributions) are listed in the Linux Distribution HOWTO, from
sunsite.unc.edu in the directory pubLinux/docs/HOWTO/.
3.4. Getting Slackware from the Internet
The Slackware release of Linux may be found on any number of FTP sites
worldwide. The Linux META-FAQ lists several of the Linux FTP sites; we
suggest that you try to find the software on the FTP site nearest you,
to reduce net traffic. However, two of the major Linux FTP sites are
sunsite.unc.edu and tsx-11.mit.edu.
The Slackware release may be found on
sunsite.unc.edu:/pub/Linux/distributions/slackware as well as
tsx-11.mit.edu:/pub/linux/packages/slackware.
3.4.1. Downloading the files
You need to download the following files from the FTP sites listed
above. Make sure that you use binary mode when FTPing them!
o The various README files, as well as SLACKWARE_FAQ. Be sure to
read these files before attempting to install the software, to get
any updates or changes to this document.
o A bootdisk image. This is a file that you will write to a floppy to
create the Slackware boot disk. If you have a 1.44 megabyte boot
floppy (3.5"), look in the directory bootdisk/1_44meg. If you have
a 1.2 megabyte boot floppy (5.25"), look in the directory
bootdisk/1_2meg.
You need one of the following files:
o bareboot.gz. This is the ``trimmed-down'' boot floppy that doesn't
include SCSI, CD-ROM, or networking support. Use this if you only
have an IDE hard drive controller and aren't going to be installing
over the network.
o cd_boot.gz. This is a boot floppy with CD-ROM drivers enabled. Get
this if you're going to be installing from CD-ROM (only relevant if
you bought a Slackware CD-ROM of some kind.)
o net_boot.gz. This is a boot floppy with TCP/IP networking enabled.
Get this if you are going to install over the network using NFS.
o onlyscsi.gz. This is a boot floppy with only SCSI support; no IDE
or networking support. Get this if you have a SCSI drive controller
that seems to be conflicting with other drivers on your system.
o scsiboot.gz. This is a boot floppy with everything; IDE, SCSI,
networking, CD-ROM support, the works. You should probably try this
one first; use bareboot.gz or one of the other boot floppies if
this doesn't work for you.
You need only one of the above bootdisk images, depending on the
type hardware that you have in your system.
The issue here is that some hardware drivers conflict with each
other in strange ways, and instead of attempting to debug hardware
problems on your system it's easier to use a boot floppy image with
only certain drivers enabled. Most users should try scsiboot or
bareboot.
o A rootdisk image. This is a file that you will write to a floppy to
create the Slackware installation disk. As with the bootdisk image,
look in bootdisk/1_44meg or bootdisk/1_2meg depending on the type
of boot floppy drive that you have.
You need one of the following files:
o color144.gz. The menu-based color installation disk for 1.44 meg
drives. Most users should use this rootdisk.
o tty144.gz. The terminal-based installation disk for 1.44 meg
drives. Use this rootdisk if color144.gz doesn't work for you for
some reason. It is a bit dated and the installation procedure isn't
exactly like that found on color144.gz, but it should work.
o colorlite.gz. The menu-based color installation disk for 1.2 meg
drives. Some things have been trimmed off of this disk to make it
fit on a 1.2 meg floppy, but it should work.
o tty12.gz. The terminal-based installation disk for 1.2 meg drives.
Use this rootdisk if you have a 1.2 meg boot floppy and
colorlite.gz doesn't work for you.
Again, you need only one of the above rootdisk images, depending on
the type of boot floppy drive that you have.
o GZIP.EXE. This is an MS-DOS executable of the gzip compression
program used to compress the boot and rootdisk files (the .gz
extension on the filenames indicates this). This can be found in
the bootdisk directory.
o RAWRITE.EXE. This is an MS-DOS program that will write the contents
of a file (such as the boot and rootdisk images) directly to a
floppy, without regard to format. You will use RAWRITE.EXE to
create the boot and root floppies. This can be found in the top-
level Slackware directory on the FTP site.
You only need RAWRITE.EXE and GZIP.EXE if you plan to create the
boot and root floppies from an MS-DOS system. If you have access to
a UNIX workstation with a floppy drive instead, you can create the
floppies from there, using the dd command. See the man page for dd
and ask your local UNIX gurus for assistance.
o The files in the directories a1, a2, and a3. These files make up
the ``a'' disk set of the Slackware distribution. They are
required. Later, you will copy these files to MS-DOS floppies for
installation (or, you can install from your hard drive). Therefore,
when you download these files, keep them in separate directories;
don't mix the a1 files with the a2 files, and so on.
Be sure that you get the files without periods in the filenames as
well. That is, within FTP, use the command ``mget *'' instead of
``mget *.*''.
o The files in the directories ap1, ap2, etc., depending on what disk
sets you are installing. For example, if you are installing the
``x'' disk series, get the files in the directories x1 through x5.
As with the ``a'' disk set, above, be sure to keep the files in
separate directories when you download them.
3.4.2. Installation methods
Slackware provides several different means of installing the software.
The most popular is installing from an MS-DOS partition on your hard
drive; the other is to install from a set of MS-DOS floppies created
from the disk sets that you downloaded.
You can also install Slackware from an NFS-mounted filesystem over a
TCP/IP network. This is somewhat involved, however, and a discussion
of how to do this is out of the range of this document. If you need
help, ask your local UNIX gurus how to set up your system to mount an
NFS filesystem which you can install Slackware from. (For this, you'll
need another system on the network which has Slackware available on an
exported filesystem.)
First we'll describe how to create the boot and root floppies, and
then we'll describe how to set things up for either a hard drive or
floppy installation.
3.4.2.1. Creating the boot and root floppies
You must create floppies from the bootdisk and rootdisk images that
you downloaded, no matter what type of installation you will be doing.
This is where the MS-DOS programs GZIP.EXE and RAWRITE.EXE come into
play.
First you must uncompress the bootdisk and rootdisk images using
GZIP.EXE (on an MS-DOS system, of course). For example, if you're
using the bareboot.gz bootdisk image, issue the MS-DOS command:
C:\> GZIP -D BAREBOOT.GZ
which will uncompress bareboot.gz and leave you with the file
bareboot. You must similarly uncompress the rootdisk image. For
example, if you are using the rootdisk color144.gz, issue the command:
C:\> GZIP -D COLOR144.GZ
which will uncompress the file and leave you with color144.
Next, you must have two high-density MS-DOS formatted floppies. (They
must be of the same type; that is, if your boot floppy drive is a 3.5"
drive, both floppies must be high-density 3.5" disks.) You will use
RAWRITE.EXE to write the boot and rootdisk images to the floppies.
For example, if you're using the bareboot bootdisk, use the command:
C:\> RAWRITE
Answer the prompts for the name of the file to write (such as
BAREBOOT) and the floppy to write it to (such as A:). RAWRITE will
copy the file, block-by-block, directly to the floppy. Also use
RAWRITE for the root disk image (such as COLOR144). When you're done,
you'll have two floppies: one containing the boot disk, the other
containing the root disk. Note that these two floppies will no longer
be readable by MS-DOS (they are ``Linux format'' floppies, in some
sense).
Be sure that you're using brand-new, error-free floppies. The floppies
must have no bad blocks on them.
Note that you do not need to be running MS-DOS in order to install
Slackware. However, running MS-DOS makes it easier to create the boot
and root floppies, and it makes it easier to install the software (as
you can install directly from an MS-DOS partition on your system). If
you are not running MS-DOS on your system, you can use someone else's
MS-DOS system just to create the floppies, and install from there.
It is not necessary to use GZIP.EXE and RAWRITE.EXE under MS-DOS to
create the boot and root floppies, either. You can use the gzip and dd
commands on a UNIX system to do the same job. (For this, you will
need a UNIX workstation with a floppy drive, of course.) For example,
on a Sun workstation with the floppy drive on device /dev/rfd0, you
can use the commands:
$ gunzip bareboot.gz
$ dd if=bareboot of=/dev/rfd0 obs=18k
You must provide the appropriate block size argument (the obs
argument) on some workstations (e.g., Suns) or this will fail. If you
have problems the man page for dd will be instructive.
3.4.2.2. Preparing for hard drive installation
If you're planning on installing the Slackware software directly from
the hard drive (which is much faster and more reliable than a floppy
installation), you will need an MS-DOS partition on the system that
you're installing Slackware to. (That is, you must already be running
MS-DOS on the system.)
To prepare for hard drive installation, simply create a directory on
the hard drive to store the Slackware files. For example,
C:\> MKDIR SLACKWAR
will create the directory C:\SLACKWAR to hold the Slackware files.
Under this directory, you should create the subdirectories A1, A2, and
so on, for each disk set that you downloaded. All of the files from
the A1 disk should go into the directory SLACKWAR\A1, and so forth.
Now you're ready to go on and install the software; skip to the
section ``Installing the Software''.
3.4.2.3. Preparing for floppy installation
If you wish to install Slackware from floppies instead of the hard
drive, you'll need to have one blank, MS-DOS formatted floppy for each
Slackware disk that you downloaded. These disks must be high-density
format.
The A disk set (disks A1 through A3) may be either 3.5" or 5.25"
floppies. However, the rest of the disk sets must be 3.5" disks.
Therefore, if you only have a 5.25" floppy drive, you'll need to
borrow a 3.5" drive from someone in order to install disk sets other
than A. (Or, you can install from the hard drive, as explained in the
previous section.)
To make the disks, simply copy the files from each Slackware directory
onto an MS-DOS formatted floppy, using the MS-DOS COPY command. As so:
C:\> COPY A1\*.* A:
will copy the contents of the A1 disk to the floppy in drive A:. You
should repeat this for each disk that you downloaded.
You do not need to modify or uncompress the files on the disks in any
way; you merely need to copy them to MS-DOS floppies. The Slackware
installation procedure takes care of uncompressing the files for you.
4. Installing the Software
In this section we'll describe how to prepare your system for
installing Slackware, and finally how to go about installing it.
4.1. Repartitioning
On most systems, the hard drive is already dedicated to partitions for
MS-DOS, OS/2, and so on. You need to resize these partitions in order
to make space for Linux.
A partition is just a section of the hard drive set aside for a
particular operating system to use. If you only have MS-DOS installed,
your hard drive probably has just one partition, entirely for MS-DOS.
To use Linux, however, you'll need to repartition the drive, so that
you have one partition for MS-DOS, and one (or more) for Linux.
The problem with resizing partitions is that there is no way to do it
(easily) without deleting the data on those partitions. Therefore,
you will need to make a full backup of your system before
repartitioning. In order to resize a partition, we simply delete the
partition(s), and re-create them with smaller sizes.
NOTE: There is a non-destructive disk repartitioner available for MS-
DOS, called FIPS. Look on sunsite.unc.edu in the directory
/pub/Linux/system/Install. With FIPS, a disk optimizer (such as Norton
Disk Doctor), and a little bit of luck, you should be able to resize
MS-DOS partitions without destroying the data on them.
If you're not using FIPS, however, the classic way to modify
partitions is with the program FDISK. For example, let's say that you
have an 80 meg hard drive, dedicated to MS-DOS. You'd like to split it
in half---40 megs for MS-DOS and 40 megs for Linux. In order to do
this, you need to run FDISK under MS-DOS, delete the 80 meg MS-DOS
partition, and re-create a 40 meg MS-DOS partition in its place. You
can then format the new partition and reinstall your MS-DOS software
from backups.
Use of MS-DOS FDISK should be self-explanatory. You'll need to make a
full backup of your system, and have a bootable MS-DOS floppy with
utilities such as FDISK.EXE and FORMAT.COM installed (the original MS-
DOS installation disks are the best thing to use for this). Booting
from the floppy, you run FDISK on your hard drive, and use the menu
options to delete your current MS-DOS partition, and then re-create it
with a smaller size. You can then re-install the MS-DOS software from
backup.
The mechanism used to repartition for OS/2 and other operating systems
is similar. See the documentation for those operating systems for
details.
4.2. Creating partitions for Linux
After repartitioning your drive, you need to create partitions for
Linux. Linux requires at least one partition, for the root filesystem,
which will hold the Linux software itself. You may wish to use
additional partitions for other filesystems, as discussed below. In
addition, most users set aside a swap partition, to be used as virtual
RAM on your machine. If you have 4 megabytes of RAM or less, a swap
partition is required to install the software. It is strongly
recommended that you have a swap partition anyway, unless you have 16
megabytes or more of physical RAM.
In order to create your Linux partitions, first boot the Slackware
bootdisk. After the system boots, you will see the message:
Please remove the boot kernel disk from your floppy drive,
insert a disk to be loaded into the ramdisk, and press
[enter] to continue.
At this point you should remove the bootdisk from the drive and insert
the rootdisk. Then press enter to go on.
The rootdisk will be loaded into memory, and you should be presented
with a login prompt. Login as ``root''.
darkstar login: root
#
Note to IBM PS/1, ValuePoint, and ThinkPad Users: If you use an IBM
PS/1, ValuePoint, or ThinkPad machine, the system will not recognize
your hard drive when you boot the Slackware bootdisk. This is because
these machines do not store drive geometry information in the CMOS (as
they should) and you have to specify the geometry by hand when
booting. (Later you can get around this by installing the LILO
software, which allows you to boot Linux from the hard drive.)
You must use a bootdisk other than ``bareboot'' for this to work. I
suggest using scsiboot. While booting the bootdisk, hold down the left
shift key. You will be presented with a boot menu which will describe
how to specify your hard drive geometry (that is, the number of
cylinders, heads, and sectors per track) for your drive using the hd
boot option. You can get information on your drive geometry from your
hard drive manual or by running MS-DOS FDISK.
4.2.1. Using fdisk
To create partitions, you'll use the Linux fdisk program. After
logging in as root, run the command
fdisk <drive>
where <drive> is the name of the drive that you wish to create Linux
partitions on. Hard drive device names are:
o /dev/hda First IDE drive
o /dev/hdb Second IDE drive
o /dev/sda First SCSI drive
o /dev/sdb Second SCSI drive
and so on. For example, to create Linux partitions on the first
SCSI drive in your system, use the command
fdisk /dev/sda
If you use fdisk without an argument, it will assume /dev/hda.
Use of fdisk is simple. The command ``p'' displays your current
partition table. ``n'' creates a new partition, and ``d'' deletes a
partition.
To Linux, partitions are given a name based on the drive which they
belong to. For example, the first partition on /dev/hda is /dev/hda1,
the second is /dev/hda2, and so on.
NOTE: You should not create or delete partitions for operating systems
other than Linux with Linux fdisk. That is, don't create or delete MS-
DOS partitions with this version of fdisk; use MS-DOS's version of
FDISK instead. If you try to create MS-DOS partitions with Linux
fdisk, chances are MS-DOS will not recognize the partition and not
boot correctly.
Here's an example of using fdisk. Here, we have a single MS-DOS
partition using 61693 blocks on the drive, and the rest of the drive
is free for Linux. (Under Linux, one block is 1024 bytes. Therefore,
61693 blocks is about 61 megabytes.) We will create two Linux
partitions: one for swap, and one for the root filesystem.
First, we use the ``p'' command to display the current partition
table. As you can see, /dev/hda1 (the first partition on /dev/hda) is
a DOS partition of 61693 blocks.
______________________________________________________________________
Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M
Command (m for help):
______________________________________________________________________
Next, we use the ``n'' command to create a new partition. The Linux
root partition will be 80 megs in size.
______________________________________________________________________
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
______________________________________________________________________
A primary partition is simply one of the 4 partitions on your drive.
An extended partition allows you to create multiple logical partitions
within it; this allows you to go over the four-partition limit on the
drive. In most cases, you should only use primary partitions unless
you need more than 4 partitions on a drive.
______________________________________________________________________
Partition number (1-4): 2
First cylinder (204-683): 204
Last cylinder or +size or +sizeM or +sizeK (204-683): +80M
______________________________________________________________________
The first cylinder should be the cylinder AFTER where the last
partition left off. In this case, /dev/hda1 ended on cylinder 203, so
we start the new partition at cylinder 204.
As you can see, if we use the notation ``+80M'', it specifies a
partition of 80 megs in size. Likewise, the notation ``+80K'' would
specify an 80 kilobyte partition, and ``+80'' would specify just an 80
byte partition.
______________________________________________________________________
Warning: Linux cannot currently use 33090 sectors of this partition
______________________________________________________________________
If you see this warning, you can ignore it. It is left over from an
old restriction that Linux filesystems could only be 64 megs in size.
However, with newer filesystem types, that is no longer the case...
partitions can now be up to 4 terabytes in size.
Next, we create our 10 megabyte swap partition, /dev/hda3.
______________________________________________________________________
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (474-683): 474
Last cylinder or +size or +sizeM or +sizeK (474-683): +10M
______________________________________________________________________
Again, we display the contents of the partition table. Be sure to
write down the information here, especially the size of each partition
in blocks. You need this information later.
______________________________________________________________________
Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M
/dev/hda2 204 204 473 82080 83 Linux native
/dev/hda3 474 474 507 10336 83 Linux native
______________________________________________________________________
Note that the Linux swap partition (here, /dev/hda3) has type ``Linux
native''. We need to change the type of the swap partition to ``Linux
swap'' so that the installation program will recognize it as a swap
partition. In order to do this, use the fdisk ``t'' command:
______________________________________________________________________
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82
______________________________________________________________________
If you use ``L'' to list the type codes, you'll find that 82 is the
code corresponding to Linux swap.
To quit fdisk and save the changes to the partition table, use the
``w'' command. To quit fdisk WITHOUT saving changes, use the ``q''
command.
After quitting fdisk, the system may tell you to reboot to make sure
that the changes too effect. In general there is no reason to reboot
after using fdisk---the version of fdisk on the Slackware distribution
is smart enough to update the partitions without rebooting.
4.3. Preparing the swap space
If you have 4 megabytes or RAM or less in your machine, you will need
to create a swap partition (using fdisk) and format it (using mkswap)
before you can install the software.
If you have more than 4 megabytes of RAM, you should only create a
swap partition (if you want to use one)---the Slackware installation
procedure will take care of formatting and enabling the swap
partition. So, if you have more than 4 megs of RAM, you can skip this
section and go on to the section ``Installing the Software''.
If you get any ``out of memory'' errors during the installation
procedure you should create a swap partition and enable it as
described here.
To prepare the swap space for use, we use the mkswap command. It
takes the form:
mkswap -c <partition> <size>
where <partition> is the partition name, such as /dev/hda3, and <size>
is the size of the partition in blocks.
For example, if you created a swap partition on /dev/hda3 of size
10336 blocks, use the command
mkswap -c /dev/hda3 10336
The -c option tells mkswap to check for bad blocks on the partition
when preparing the swap space. If you see any ``read_intr'' error
messages during the mkswap operation, this means that bad blocks were
found (and flagged). So you can ignore these errors.
To enable swapping on the new device, use the command
swapon <partition>
For example, for our swap space on /dev/hda3, we use
swapon /dev/hda3
We're now swapping with about 10 megabytes more virtual memory.
You should execute mkswap and swapon for each swap partition that you
created (if you decided to create more than one).
4.4. Installing the software
Installing the Slackware release is very simple; it's almost
automatic. You use the setup command, which guides you through a
series of menus which allow you to specify the means of installation,
the partitions to use, and so forth. Almost everything is automatic.
Here, we're not going to document many of the specifics of using
setup, because it changes from time to time. setup is very self-
explanatory; it contains its own documentation. Just to give you an
idea of what it's like, however, we'll describe what most
installations are like using setup.
Before you begin, be sure that you have a high-density MS-DOS
formatted floppy on hand. You will use this floppy to create a Linux
boot diskette.
After running fdisk (and, perhaps, mkswap and swapon if you have 4
megs of RAM or less), issue the command
# setup
This will present you with a colourful menu with various options such
as ``Addswap'' (to set up your swap space), ``Source'' (to specify the
source of the software to install, such as floppy or hard drive),
``Target'' (to specify where to install the software), and so on.
In general, you should go through the menu commands in the following
order:
1. Addswap. If you created a swap partition (using fdisk), use the
addswap menu option to tell the system about it. This option will
present you with a list of possible swap partitions; just type in
the name of the swap partition(s) that you wish to use (such as
/dev/hda3). The system will then ask you if you want to format the
swap partition, which you should do unless you already ran mkswap
and swapon on it. That is, you should format the swap partition
unless you already formatted and enabled it by hand as described in
the previous section.
2. Source. This menu option lets you specify the source for the
software to install. You can select several means of installation,
such as from floppy or from hard drive. If you are installing from
floppies, the system will ask you which floppy drive to use. If you
are installing from hard drive, the system will ask you what
partition the files are stored on, and what directory they are in.
For example, if you are installing from an MS-DOS partition on your
hard drive, and the Slackware files are under the directory
C:\SLACKWAR, you should enter the name of the MS-DOS partition
(such as /dev/hda1) and the name of the directory (such as
/slackwar). Note that you should use forward slashes (/), not
backslashes (\), in the directory name.
There are other means of installation, such as CD-ROM. These should
be self-explanatory as well.
3. Target. This menu item lets you specify what partition(s) to
install the software on. The system will display a list of possible
partitions. First you will be asked to enter the name of the root
partition, such as /dev/hda2. You will be asked if you want to
format the partition; unless you are installing on a partition
previously formatted for Linux you should do so. You should use the
Second Extended Filesystem (ext2fs) type for the partition.
You will also be given a chance to use additional partitions for
different parts of the directory tree. For example, if you created
a separate partition for the /usr filesystem, you should enter the
name of that partition and the directory that it corresponds to
(/usr) when asked.
4. Disksets. This option allows you to specify the disksets you wish
to install. Use the arrow keys to scroll through the list; pressing
the spacebar selects or deselects a set. Press return when you're
done selecting disk sets.
You may wish to only install a minimal system at this time. That's
fine. Only the A diskset is required. After you have installed the
software you may run setup to install other disksets.
5. Install. After setting up all of the parameters above, you're ready
to install the software. First the system will ask you what type of
prompting to use; you should use the ``normal'' prompting method
(unless you're an expert and have modified the installation
tagfiles in some way).
The system will simply go through each disk set and install the
software. For each software package, a dialog box will be displayed
describing the software. Software packages that are required will
be installed automatically. For optional software packages you will
be given the option of either installing or not installing the
package. (If you don't wish to install a certain package now, you
can always use setup on your system to install it later).
While the software is installing, watch out for error messages that
may be displayed. The most common error that you're likely to run
into is ``device full'', which means that you have run out of space
on your Linux partitions. Unfortunately, the Slackware installation
procedure is not quite smart enough to detect this, and will
attempt to continue installing the software regardless. If you get
any kind of error messages during the installation procedure, you
may wish to break out of the installation program (using Ctrl-C) to
record them. The only solution for the ``device full'' problem is
to re-create your Linux partitions with different sizes, or attempt
to reinstall the software without several of the optional software
packages.
4.5. After installation
After installation is complete, and if all goes well, you will be
given the option of creating a ``standard boot disk'', which you can
use to boot your newly-installed Linux system. For this you will need
a blank, high-density MS-DOS formatted diskette of the type that you
boot with on your system. Simply insert the disk when prompted and a
boot diskette will be created.
You will also be given the chance to install LILO on your hard drive.
LILO (which stands for LInux LOader) is a program that will allow you
to boot Linux (as well as other operating systems, such as MS-DOS)
from your hard drive. If you wish to do this, just select the
appropriate menu option and follow the prompts.
If you are using OS/2's Boot Manager, the menu will include an option
for configuring LILO for use with the Boot Manager, so that you can
boot Linux from it.
Note that this automated LILO installation procedure is not foolproof;
there are situations in which is can fail. Be sure that you have a way
to boot MS-DOS, Linux, and other operating systems from floppy before
you attempt to install LILO. If the LILO installation fails you will
be able to boot your system from floppy and correct the problem.
The postinstallation procedure will also take you through several menu
items allowing you to configure your system. This includes specifying
your modem and mouse device, as well as your time zone. Just follow
the menu options.
4.6. Booting your new system
If everything went as planned, you should be able to boot your Linux
boot floppy (not the Slackware installation floppy, but the floppy
created after installing the software). Or, if you installed LILO, you
should be able to boot from the hard drive. After booting, login as
root. Congratulations! You have your very own Linux system.
If you are booting using LILO, try holding down shift or control
during boot. This will present you with a boot prompt; press tab to
see a list of options. In this way you can boot Linux, MS-DOS, or
whatever directly from LILO.
After booting your system and logging in as root, one of the first
things you should do is create an account for yourself. The adduser
command may be used for this purpose. For example,
# adduser
Login to add (^C to quit): ebersol
Full Name: Norbert Ebersol
GID [100]: 100
UID [501]: 501
Home Directory [/home/ebersol]: /home/ebersol
Shell [/bin/bash]: /bin/bash
Password [ebersol]: new.password
Information for new user [ebersol]:
Home directory: [/home/ebersol] Shell: [/bin/bash]
Password: [new.password] UID: [502] GID:[100]
Is this correct? [y/n]: y
adduser will prompt you for various parameters, such as the username,
full name, GID (group ID), UID (user ID), and so on. For the most part
you can use the defaults. If you're unfamiliar with creating users on
a UNIX system, I strongly suggest getting a book on UNIX systems
administration. It will help you greatly in setting up and using your
new system.
You can now login as the new user. You can use the keys Alt-F1 through
Alt-F8 to switch between virtual consoles, which will allow you to
login multiple times from the console. The passwd command can be used
to set the passwords on your new accounts; you should set a password
for root and any new users that you create.
Also, the hostname of your machine is set at boot time in the file
/etc/rc.d/rc.M. You should edit this file (as root) to change the
hostname of the machine. You should edit the lines in this file which
run the commands hostname or hostname_notcp. (The default hostname is
darkstar.) You may also wish to edit the domainname commands in this
file, if you are on a TCP/IP network.
Obviously, there are many more things to setup and configure. A good
book on UNIX systems administration should help. (I suggest Essential
Systems Administration from O'Reilly and Associates.) You will pick
these things up as time goes by. You should read various other Linux
HOWTOs, such as the NET-2-HOWTO and Printing-HOWTO, for information on
other configuration tasks.
After that, the system is all yours... have fun!
5. Miscellaneous
I don't like to be biased towards the Slackware release, however, in
order to document multiple releases of Linux, this file would be much,
much longer. It is simpler and more coherent to cover the specific
instructions for a single release of Linux. The book Linux
Installation and Getting Started currently includes general
installation instructions which should be applicable to ``any''
distribution of Linux. However, because the installation procedures
are so varied, covering them all would be very confusing both to
myself and to the reader.
The basic concepts in this document still hold, no matter what release
of Linux you choose. For example, all releases require you to run
fdisk, and all of them (to my knowledge) include some kind of
installation menu similar to the setup program. If you choose to use
a release of Linux other than Slackware, the READMEs and installation
instructions that come with that release should be easy to understand
in the context of the material presented here.
If you would like a more complete discussion of Linux installation
(instead of the "quick" examples given here), read the book Linux
Installation and Getting Started, from sunsite.unc.edu in
/pub/Linux/docs/LDP. This book includes a complete discussion of how
to obtain and install Linux, as well as a basic UNIX and systems
administration tutorial for new users.
Please mail me at mdw@sunsite.unc.edu if any part of this document is
confusing or incorrect. I depend on feedback from readers in order to
maintain this document! I also like to help answer questions about
Linux installation, if you have any.
I'd like to thank Patrick Volkerding for his work on the Slackware
distribution and assistance in preparing this document.
Best of luck with your new Linux system!
Cheers, mdw